The present invention relates to methods and apparatus for managing power consumption and heat buildup in a computing system and managing the distribution of computational activity among processors in a multiprocessor computing system.
The increasing clock frequencies and decreasing size of modern microprocessors have generated enormous improvements in computing performance and the convenience of providing such performance within a small footprint. However, these improvements have also led to increased power consumption and considerable heat buildup in the microprocessors. This is particularly true of graphics processors. Thus, there is a need in the art for a software-based solution to the problem of microprocessor heat buildup either in place of, or in addition to, hardware solutions such as the deployment of heat sinks.
In multiprocessor computing systems, the problem of heat buildup may be aggravated by the concentration of a plurality of high-performance processors within a limited space and by an uneven distribution of processing activity among the processors. Such an uneven distribution of computational activity may lead to the generation of local “hot spots” as some processors process more total computational throughput and experience correspondingly greater thermal energy buildup than less active processors within the same computing system. Accordingly, there is a need in the art for a software solution to the problem of hot spots in multiprocessor systems.